Data is collected, organized, and processed for virtually every transaction and communication that occurs in today's global economy. The integrity of this information (e.g., the authenticity and/or security of a message) has become important to enterprises and individuals. Consequently, a variety of techniques for securing and replicating information exist in the industry.
For example, a Virtual Private Network (VPN) is an extension of a private network that uses public network space (e.g., the Internet) to allow remote users or networks to connect to the private network. A VPN incorporates encryption and tunneling to deliver data safely and privately from the private network, across the public space, to the remote user/network.
The Domain Name System (DNS) stores information about domain names in a database on a network, such as the Internet, to provide a physical location (e.g., internet protocol (IP) address) for each hostname. Thus, when a domain name request is made by a client connected to the public network, a DNS server in the public network, perhaps accessed by the default Windows® DNS client, is used to resolve the hostname into the proper IP address.
However, when a user has established a VPN tunnel connection with a private network using socket interception through DLL injection, the default DNS client does not have access to host addresses within the private network because the socket calls used by default DNS client can not be intercepted through DLL injection. Thus, attempts by the default process to resolve addresses associated with the protected resources will fail.